System and Method for Expiring Advertisement Spaces in Syndicated Feeds

ABSTRACT

A system and method for managing advertisements in a syndicated feed is described. One embodiment includes a method for expiring an advertisement space in a feed. This method includes the following actions: receiving a data item associated with a feed from a publisher; determining whether an advertisement space should be associated with the data item; inserting a markup of the advertisement space into the data item; providing the data item for a user; receiving a request from the user to view the advertisement corresponding to the advertisement space and the data item; determining whether the data item is older than a threshold age; providing an advertisement to the user if the data item is not older than a threshold age, wherein the advertisement is viewable in the advertisement space; and providing a blank advertisement to the user if the data item is older than a threshold age.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/483,690, filed Jul. 10, 2006, the contents of which are herebyincorporated by reference.

U.S. application Ser. No. 11/483,690 is related to commonly owned andassigned application Ser. No. 10/999,490 entitled “Method and System forProcessing Published Content on the Internet,” which is incorporatedherein by reference.

COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all copyright rightswhatsoever.

FIELD OF THE INVENTION

The present invention relates generally to the management of syndicatedfeeds and the management of advertisements in syndicated feeds. Inparticular, but not by way of limitation, the present invention relatesto systems and methods for expiring advertisement spaces in syndicatedfeeds.

BACKGROUND OF THE INVENTION

Syndicated feeds are becoming increasingly popular. Traditional,commercial publishers such as REUTERS, USA TODAY and NEWSWEEK aredistributing their articles to potential readers through feeds.Similarly, non-traditional publishers are using feeds to distributetheir blogs, webcasts, and podcasts to potential viewers and readers.Using commercially-available readers, users can aggregate content frommultiple publishers and create a personalized feed.

Not surprisingly, as feeds become more popular, content providers, suchas the publishers, are looking for ways to monetize their creations byadding advertisements into the feeds or into the articles included inthe feeds. The process of inserting ads into feeds, however, raisessignificant challenges. One method for inserting and managing ads isdisclosed in U.S. patent application Ser. No. 10/999,490 entitled“Method and System for Processing Published Content on the Internet,”which is incorporated herein by reference.

One common assumption that advertisers make is assuming thatdistributing ads through syndicated feeds is the same as distributingads through a web site. This assumption is wrong because of thedifferent way that end users view web sites and feeds. At a given pointin time, all users see the same version of a web page at the same time.That is, the content of a particular web page is set at a particularpoint in time. Accordingly, advertisers can control the location oftheir advertisement on the web page and can control the time when theadvertisement can be viewed.

The content available to user through a syndicated feed, however, is notthe same for all readers at the same time. That is, different users,viewing a feed at the same time, will view different content anddifferent arrangement of content. Thus, advertisers control neither thephysical placement of their advertisement nor the time at which theadvertisement can be viewed.

This feed uniqueness is a function of when the user attempts to retrievethe feed, to which feeds the user subscribes, and how long ago the userlast viewed the feed. In essence, a user views an aggregation of contentpushed to that particular user. That content can come from multiplepublishers or a single publisher. And until the user views or deletesthe content, it remains in the user's feed. Accordingly, a feed for aparticular user can become quite long if the user subscribes to multiplefeeds or the user views his personal feed infrequently.

These long feeds are not conducive to successful advertising campaigns.Users do not often scroll down to the bottom of a feed to view itemsthat are several days old. Instead, users tend to view the most recentitems, and if ads are embedded in these items, then the users tend toview the most recent advertisements. And some readers only display acertain number of recent pieces of content. The older content is eitherpushed off of the initial page that the user views or is otherwiseeliminated from the user's initial view.

Advertisers do not want to pay for—or want to pay lessfor—advertisements that are placed at the bottom of feeds or that are inless desirable locations within a feed.

With current technology, however, there is no way to determine whetheran advertisement is viewed at the top of a feed or at the bottom of afeed. This leaves advertisers with difficulty in determining how muchthey should pay for advertising in feeds and difficulty in determiningwhether their advertising campaigns are effective. Finally, insertingads that will not be viewed by readers consumes valuable bandwidth andtends to clutter feeds, resulting in reader dissatisfaction.Accordingly, a system and method are needed to better manage advertisingwithin feeds.

SUMMARY OF THE INVENTION

Exemplary embodiments of the present invention that are shown in thedrawings are summarized below. These and other embodiments are morefully described in the Detailed Description section. It is to beunderstood, however, that there is no intention to limit the inventionto the forms described in this Summary of the Invention or in theDetailed Description. One skilled in the art can recognize that thereare numerous modifications, equivalents and alternative constructionsthat fall within the spirit and scope of the invention as expressed inthe claims.

A system and method for managing advertisements in a syndicated feed isdescribed. One embodiment includes a method for expiring anadvertisement space in a feed. This method includes the followingactions: receiving a data item associated with a feed from a publisher;determining whether an advertisement space should be associated with thedata item; inserting a markup of the advertisement space into the dataitem; providing the data item for a user; receiving a request from theuser to view the advertisement corresponding to the advertisement spaceand the data item; determining whether the data item is older than athreshold age; providing an advertisement to the user if the data itemis not older than a threshold age, wherein the advertisement is viewablein the advertisement space; and providing a blank advertisement to theuser if the data item is older than a threshold age.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects and advantages and a more complete understanding of thepresent invention are apparent and more readily appreciated by referenceto the following Detailed Description and to the appended claims whentaken in conjunction with the accompanying Drawings wherein:

FIG. 1 is a block diagram of one embodiment of a feed management systemconstructed in accordance with the principles of the present invention;

FIG. 2 is a block diagram of the components of one embodiment of a feedmanager constructed in accordance with the principles of the presentinvention;

FIG. 3 is a block diagram of one embodiment of an advertisement markupinsertion module constructed in accordance with the principles of thepresent invention;

FIG. 4 is a block diagram of one embodiment of an advertisementrendering module in accordance with the principles of the presentinvention;

FIG. 5 is a flow chart illustrating one method for insertingadvertisement markups into a feed; and

FIG. 6 illustrates one method of rendering ads in accordance with thepresent invention.

DETAILED DESCRIPTION

Referring now to the drawings, where like or similar elements aredesignated with identical reference numerals throughout the severalviews, and referring in particular to FIG. 1, it illustrates oneembodiment of a system 100 constructed in accordance with the presentinvention.

This system 100 includes a number of publishers 105 connected to a feedmanager 110. Each publisher generates a feed for distribution to endusers 115. Each feed could include a variety of articles, audio, tracks,video, pictures, etc. The individual items within a publisher's feed arereferred to as data items, content, or content items. These feeds can bein any format, but the most common format is called “RSS” which standsfor Really Simple Syndication. Much of the discussion within thisdocument relates to RSS, but those of skill in the art understand thatRSS is an exemplary feed format and that the present invention is in noway limited to RSS.

After the publishers 105 create their feeds, the feeds, including thecontent therein, can be provided to the feed manager 110. In oneimplementation, the publishers 105 provide the feeds directly to thefeed manager 110. And in another implementation, the publishers providea pointer to where the feed manager 110 can go to retrieve the feed.Either way, however, the feed 110 manager receives the feed and theindividual data items within that feed.

Once the feed manager 110 receives the feeds, the feed manager 110determines whether ads should be inserted into the individual dataitems. These feeds can be referred to as “original feeds.” In anotherembodiment, the feed manager 110 determines whether advertisement spacesshould be associated with individual data items. In this embodiment, theactual advertisement is assigned to the advertisement space after auser—or an automated system associated with the user—requests to view anadvertisement associated with a particular advertisement space.

Assuming that an advertisement space has been assigned to an individualdata item, then the feed manager 110 can insert a markup for theadvertisement space. This markup acts as a placeholder so that anadvertisement can be subsequently rendered in that advertisement space.Alternatively, the feed manager can skip advertisement space assignmentand directly insert an advertisement markup corresponding to an actualadvertisement. In either embodiment, the markup provides a method bywhich to eventually render an advertisement for user viewing orlistening.

The feed manager 110 can also enhance the individual data items byproviding links to the publisher's web site or a relevant web site forthat data items. In other embodiments the feed manager 110 can enhancethe feed by providing email links so that readers can directly contactthe author. Those of skill in the art will recognize that the feedmanager 110 can add other enhancements to the feeds and data itemsbefore they are distributed.

After the feed manager 110 has enhanced the data items received from thepublishers, the feed manager 110 can either post the feed fordistribution to users or provide the data items to distributors. Forexample, the feed manager 110 could post the feed to a particular URLthat a user could contact through the Internet 115. Alternatively, thefeed manager 110 could provide the feed to an aggregator 120, such asNEWSGATOR. The aggregator 120 would then distribute the feeds and dataitems.

The aggregator 120 generally receives feeds from multiple sources andthen extracts data items for particular users based upon user profiles.The aggregator 120 also provides a single location at which a user canview multiple feeds. For example, an aggregator 120 could pull sportsstories from different feeds and then provide them to a user in anaggregated feed. The user could then access that aggregated feed andview sports stories from multiple publishers.

Referring now to FIG. 2, it illustrates components of an exemplary feedmanager 125. The feed manager 125 is divided into two logical portions.The first portion 130 is for advertisement space markup insertion, andthe second portion 135 is for advertisement assignment and rendering.Generally, these two portions comprise software operating on a computersystem. Those skilled in the art will recognize that components of thesetwo modules can be intermingled or integrated without altering theoverall function of the feed manager. These two components are just oneembodiment of the feed manager.

As will be described in more detail below, the advertisement spacemarkup insertion module 130 is generally responsible for determiningwhether an advertisement space should be inserted into a data item. Forexample, this module can determine whether a particular data item canhost an advertisement. This determination can be based on publisherpreferences, content type, etc.

The advertisement rendering module 135 is responsible for selecting andproviding an actual advertisement to a user as the user views thecorresponding data item or in response to a user clicking on a data itemor advertisement. Further, the advertisement rendering module 135 isalso responsible for determining whether an advertisement should berendered based upon expiration rules that will be discussed in moredetail below. Additionally, the advertisement rendering module 135 canbe responsible for determining the effectiveness of an advertisingcampaign and the proper billing structure for an advertising campaign.For example, the advertisement rendering module 135 can determine howmany impressions of a particular advertisement were actually renderedversus how many markups were provided to individual users.

Referring now to FIG. 3, it illustrates the components of anadvertisement space markup insertion module 140 in accordance with anembodiment of the present invention. As those of skill in the art willunderstand, the individual modules illustrated in FIG. 3 generallyrepresent software modules and the functionality performed by thesoftware modules. Individual functions can be combined or moved betweenmodules. The embodiment shown in FIG. 3 is just one possibleimplementation. Those of skill in the art will readily recognize otherimplementations.

This embodiment of the advertisement space markup insertion module 140includes a publisher interface 145 for interacting with the publishers.The publisher interface 145 provides the system and method by whichpublishers can provide their feeds, data items, their advertisements,and their advertisement instructions to the feed manager. This interfacecan utilize a number of known protocols to make it easy for publishersto transfer information to the feed manager.

Once the individual data items are received from the publishers, theadvertisement space assignment module 150 determines whether anadvertisement space should be assigned to a particular data item.Advertisement spaces can be assigned based upon the subject matter of aparticular data item, the type of the data item, the size of the dataitem, publisher preferences, and/or the pricing model selected by apublisher. For example, a publisher could instruct the advertisementspace assignment module may assign an advertisement space to every thirddata item in a particular feed.

If the advertisement space assignment module 150 assigns anadvertisement space to a particular data item, then the markup insertermodule 155 inserts a markup corresponding to the advertisement space.This markup does not necessarily include an actual advertisement.Rather, in the preferred embodiment, the markup acts as a pointer backto the feed manager. The user, or the user's reader, can follow thispointer and receive an actual advertisement. For example, the user couldclick on an advertisement space embedded into a data item. Using theinformation in the advertisement space markup 155, a message would thenbe sent from the user's computer to the remote system corresponding tothe markup. That remote system could then select and send anadvertisement to the user.

Once the markup of the advertisement space has been inserted into thedata item, the data item is finalized and can be distributed for userconsumption. Data items tend to be static, and any change to a data itemeffectively creates a new data item from the perspective of currentreader technology. Accordingly, once the advertisement space markups areadded to a data item, the advertisement space markups cannot be changedwithout disrupting the operation of current readers.

The distribution interface 160 is responsible for distributing thesefinal data items. The distribution interface 160 can be responsible forposting the annotated feed to a particular URL or providing theannotated feed to the aggregator. This technology is known in the artand not described further herein.

Referring now to FIG. 4, it illustrates exemplary components of anadvertisement rendering module 165. As previously discussed, theadvertisement rendering module 165 is generally responsible forselecting and providing a full advertisement to a user's reader based ona markup included in a data item.

Any request from a user's reader to view a particular advertisementgenerally is received first by the request handler 170. The requesthandler 170 receives the request and extracts the identity of theadvertisement space, the identity of the corresponding data item, and/orother relevant information about the data item. Relevant information mayinclude publisher identity, data item publication date, user identity,etc.

This extracted information, or some portion of it, can be passed to theexpiration analyzer 175. The expiration analyzer 175 determines whetherthe advertisement space has expired for that particular data item. Thisprocess of determining whether an advertisement space or advertisementhas expired is discussed in further detail with regard to FIG. 6. If anadvertisement space has expired, the advertisement inserter module 185provides a blank advertisement back to the user. The typical blankadvertisement consists of a single pixel that is not readily viewable bythe user and not readily clicked on by the user. In other embodiments,an expiration message is passed to the user rather than a blank ad. Forthe purposes of this document, the term “blank ad” encompasses imagesnot perceivable or barely perceivable by a user and expiration messages.

If the advertisement space associated with the data item has notexpired, then the advertisement selector 180 selects the appropriateadvertisement to render in the advertisement space. This advertisementcan be pre-assigned or dynamically selected from a database 182. Dynamicselection involves selecting an advertisement based upon factors such asuser identity, user profile characteristics, data item publisheridentity, data item subject matter, time of data item viewing,advertising campaign budgets, etc.

Once the advertisement has been selected, the advertisement insertermodule 185 retrieves the appropriate advertisement from the advertisingdatabase and provides that advertisement to the user's reader (whichencompasses any type of reader or viewer). The user's reader can thenrender that advertisement in the corresponding advertisement space.

To keep track of rendered advertisements, the usage analyzer 190 willtrack how many times a particular advertisement is rendered or otherdata relevant to advertisers. Those of skill in the art will be familiarwith this type of accounting system, and it is not described furtherherein.

Referring now to FIG. 5, it illustrates a flow chart 195 of one methodof adding advertisement space markups to a data item. In thisembodiment, a feed is initially received from a publisher. [Block 200]Assuming that the feed includes different data items, they can beindividually identified. [Block 205] If the feed includes only one dataitem, then it is identified.

Next, for each identified data item, the system determines whether anadvertising space or advertisement should be associated with that dataitem. [Block 210] For example, the system can determine whether thepublisher permits advertisements to be inserted into its feeds. Assumingthat an advertising space should be associated with that data item, thenext step in this exemplary process is to insert an advertisement spacemarkup into the data item. [Block 215] As previously described, themarkup can include a pointer to the feed manager, or any renderingsystem. The markup can also include publisher information, a time stamp,advertisement space sizes, etc.

Once the mark up has been added, the annotated data item can then bedistributed for consumption by end users. [Block 220]

Referring now to FIG. 6, it illustrates a flow chart 225 for renderingadvertisements and determining whether advertising spaces have expired.In this exemplary method, a request to render a particular advertisementis initially received. [Block 230] Using that request, a determinationis made as to which data item was associated with the received request.[Block 235]

Next, the age of that data item can be determined. [Block 240] The agecan be determined by comparing a publishing date of the data item withthe current date. This publishing date is often included in headerinformation embedded in a data item. The request to render anadvertisement can include this publishing date or otherwise provide anindication of how to determine the publishing date for a particular dataitem.

Using the determined age of the data item, a determination is madewhether to render the advertisement. [Block 245] For example, the systemcould determine whether the data item is older than a threshold age. Ifthe data item is not older than a threshold age, then the advertisementcould be selected and retrieved from the advertisement database andprovided to the user's reader for rendering. [Block 250] Any tracking ofthe distribution for evaluation or billing purposes could then takeplace. [Block 225 and 260]

If the data item is older than a threshold age, however, then anyrendering of the advertisement could be stopped. [Block 265] In oneembodiment, a blank ad, such as a single pixel, is provided in place ofthe full advertisement. [Block 270] The user's reader is effectivelyspoofed into believing that it received an advertisement. But the usersees virtually nothing.

Alternatively, a more sophisticated expiration analysis of when a dataitem associated with a rendering request is older than a threshold agecan be performed. For example, in one embodiment, when the computersystem determines that a data item is older than a threshold age, thesystem then attempts to determine whether the data item is in thecurrent version of the feed. For example, if the data item is a newsstory that is older than 48 hours, the system may attempt to determinewhether this news story is in the current version of the feed from theparticular publisher. If the data item is not in the current version ofthe publisher's feed, then the system will distribute the blankadvertisement. But if the older data item is also in the current feed,then the advertisement can be rendered in accordance with the previousdiscussion and the distribution of that advertisement tracked.

In conclusion, the present invention provides, among other things, asystem and method for managing distribution of advertisements insyndicated feeds. Those skilled in the art can readily recognize thatnumerous variations and substitutions may be made in the invention, itsuse and its configuration to achieve substantially the same results asachieved by the embodiments described herein. Accordingly, there is nointention to limit the invention to the disclosed exemplary forms. Manyvariations, modifications and alternative constructions fall within thescope and spirit of the disclosed invention as expressed in the claims.

1. (canceled)
 2. A method, comprising: receiving, by one or morecomputers, requests from a user device for a content item to populate acontent item slot of an electronic content element of a web page; whilecontent of the electronic content element is less than a threshold age,identifying the content item slot as an unexpired content item slot;when content of the electronic content element exceeds the thresholdage, identifying the content item slot as an expired content item slot;responding to each of the requests based on a status of the content itemslot when the request is received, including: providing a blank contentitem to populate the content item slot without requiring the user deviceto render the blank content item for the requests that are received whenthe content item slot is identified as an expired content item slot; andproviding a different content item that is selected based oncharacteristics of the user or user device rather than the blank contentitem for the requests that are received when the content item slot isidentified as an unexpired content item slot.
 3. The method of claim 1,wherein the content of the electronic content element is included in anoriginal feed provided by a content publisher, and wherein providing ablank content item comprises: determining that the content of theelectronic content element is not included in a current feed from thecontent publisher; and providing the blank content item when i) thecontent item slot is identified as an expired content item slot, and ii)the content of the electronic content element is not included in acurrent feed from the content publisher.
 4. The method of claim 1,wherein the user device is an electronic reader.
 5. The method of claim1, comprising: receiving second content of a content feed that isprovided by a content publisher; determining that the second content isto be presented in the content item slot; and inserting a markup of thecontent item slot into the second content.
 6. The method of claim 5,wherein inserting the markup of the content item slot into the secondcontent comprises inserting a pointer to a system that can select thesecond content from a plurality of content to render in the content itemslot.
 7. The method of claim 5, wherein determining that the secondcontent is to be presented in the content item slot comprises:determining the content publisher of the second content; and retrieving,from a content item database, content distribution rules for the contentpublisher.
 8. The method of claim 7, wherein the content distributionrules for the content publisher are defined by the content publisher. 9.A system comprising: one or more computers including an expirationanalyzer module and a content item selector module, the expirationanalyzer module being configured to: receive requests from a user devicefor a content item to populate a content item slot of an electroniccontent element of a web page; while content of the electronic contentelement is less than a threshold age, identify the content item slot asan unexpired content item slot; and when content of the electroniccontent element exceeds the threshold age, identify the content itemslot as an expired content item slot; and the content item selectormodule being in communication with the expiration analyzer module, thecontent item selector module being configured to respond to each of therequests based on a status of the content item slot when the request isreceived, including: provide a blank content item to populate thecontent item slot without requiring the user device to render the blankcontent item for the requests that are received when the content itemslot is identified as an expired content item slot; and provide adifferent content item that is selected based on characteristics of theuser or user device rather than the blank content item for the requeststhat are received when the content item slot is identified as anunexpired content item slot.
 10. The system of claim 9, wherein thecontent of the electronic content element is included in an originalfeed provided by a content publisher, and wherein providing a blankcontent item comprises: determining that the content of the electroniccontent element is not included in a current feed from the contentpublisher; and providing the blank content item when i) the content itemslot is identified as an expired content item slot, and ii) the contentof the electronic content element is not included in a current feed fromthe content publisher.
 11. The system of claim 9, wherein the userdevice is an electronic reader.
 12. The system of claim 9, comprising:receiving second content of a content feed that is provided by a contentpublisher; determining that the second content is to be presented in thecontent item slot; and inserting a markup of the content item slot intothe second content.
 13. The system of claim 12, wherein inserting themarkup of the content item slot into the second content comprisesinserting a pointer to a system that can select the second content froma plurality of content to render in the content item slot.
 14. Thesystem of claim 12, wherein determining that the second content is to bepresented in the content item slot comprises: determining the contentpublisher of the second content; and retrieving, from a content itemdatabase, content distribution rules for the content publisher.
 15. Thesystem of claim 12, wherein the content distribution rules for thecontent publisher are defined by the content publisher.
 16. Anon-transitory computer-readable storage medium comprisingcomputer-readable instructions that, in response to execution, cause acomputing system to perform operations, comprising: receiving, by one ormore computers, requests from a user device for a content item topopulate a content item slot of an electronic content element of a webpage; while content of the electronic content element is less than athreshold age, identifying the content item slot as an unexpired contentitem slot; when content of the electronic content element exceeds thethreshold age, identifying the content item slot as an expired contentitem slot; responding to each of the requests based on a status of thecontent item slot when the request is received, including: providing ablank content item to populate the content item slot without requiringthe user device to render the blank content item for the requests thatare received when the content item slot is identified as an expiredcontent item slot; and providing a different content item that isselected based on characteristics of the user or user device rather thanthe blank content item for the requests that are received when thecontent item slot is identified as an unexpired content item slot. 17.The computer-readable storage medium of claim 16, wherein the content ofthe electronic content element is included in an original feed providedby a content publisher, and wherein providing a blank content itemcomprises: determining that the content of the electronic contentelement is not included in a current feed from the content publisher;and providing the blank content item when i) the content item slot isidentified as an expired content item slot, and ii) the content of theelectronic content element is not included in a current feed from thecontent publisher.
 18. The computer-readable storage medium of claim 16,wherein the user device is an electronic reader.
 19. Thecomputer-readable storage medium of claim 16, comprising: receivingsecond content of a content feed that is provided by a contentpublisher; determining that the second content is to be presented in thecontent item slot; and inserting a markup of the content item slot intothe second content.
 20. The computer-readable storage medium of claim19, wherein inserting the markup of the content item slot into thesecond content comprises inserting a pointer to a system that can selectthe second content from a plurality of content to render in the contentitem slot.
 21. The computer-readable storage medium of claim 19, whereindetermining that the second content is to be presented in the contentitem slot comprises: determining the content publisher of the secondcontent; and retrieving, from a content item database, contentdistribution rules for the content publisher defined by the contentpublisher.